package com.geek.javase.ch10.jformdesigntest;

import javax.swing.*;
import java.awt.*;

/*
 *@author wangpeng
 *2025/10/18 13:12
 *@description
 *
 * JFrame -> Container（设置布局方式） -> JPanel -> JButton、JTextField...组件
 * 画布  “桌布”
 * 1.extends JPanel
 *
 * 2.API方法
 * setBounds()   设置宽高及出现位置
 * setBackground() 设置背景色
 * setResizable(false) 设置不可拖拽
 *
 * 3.JPanel 默认布局方式，layout=java.awt.FlowLayout  流式布局
 */
public class MyPannel extends JPanel {
    public MyPannel(int weight, int height,int x,int y,int red,int green,int blue) {
         this.setBounds(x,y,weight,height);
         this.setBackground(new Color(red,green,blue));
         //Jpannel
        System.out.println(this);
    }

    public static void main(String[] args) {
        //1.创建JPanel桌布
        MyPannel p1 =new MyPannel(200,200,0,0,200,100,100);
        MyPannel p2 =new MyPannel(200,200,200,0,100,200,100);
        MyPannel p3 =new MyPannel(200,200,200,200,100,100,200);
        MyPannel p4 =new MyPannel(200,200,0,200,150,150,150);
        //2.创建JFrame窗体
        MyInnerFrame frame = new MyInnerFrame();
        //3.获取Jframe的容器
        Container container = frame.getContentPane();
        //4.给容器添加组件
        container.add(p1);
        container.add(p2);
        container.add(p3);
        container.add(p4);
        //5.设置可见
        frame.setVisible(true);
    }

}

class MyInnerFrame extends JFrame {
    public MyInnerFrame() {
        //设置标题
        this.setTitle("这是一个JFrame");
        //设置宽高
        this.setSize(new Dimension(400, 400));
        //设置出现位置  居中显示
        this.setLocationRelativeTo(null);
        //设置关闭方式
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        //设置不可拖拽
        this.setResizable(false);
    }
}
